package com.egoo.ticket.server.dao;

import com.egoo.ticket.server.pojo.dto.TaskTimeOutRecordDto;
import com.egoo.ticket.server.pojo.entity.TaskTimeOutRecord;
import com.egoo.ticket.server.pojo.vo.TaskTimeOutRecordVo;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * @author Administrator
 */

@Component
public interface TaskTimeOutRecordDao {
	/**
	 * 查询任务超时列表
	 * @param taskTimeOutRecordDto
	 * @return
	 */
	List<TaskTimeOutRecordVo> selectListByCondition(TaskTimeOutRecordDto taskTimeOutRecordDto);

	/**
	 * 删除通过主键
	 * @param taskId
	 * @return
	 */
    int deleteByPrimaryKey(String taskId);

	/**
	 * 通过流程实例id删除
	 * @param processInstanceId
	 * @return
	 */
	int deleteByProcessInstanceId(String processInstanceId);
	/**
	 * TODO 根据条件删除超时记录
	 * @author: victor_tang
	 * @createtime: 2020/4/13 18:49
	 * @param taskTimeOutRecord 1
	 * @return: int
	 */
	int deleteByCondition(TaskTimeOutRecord taskTimeOutRecord);

	/**
	 * 插入
	 * @param record
	 * @return
	 */
    int insert(TaskTimeOutRecord record);

	/**
	 * 动态插入
	 * @param record
	 * @return
	 */
    int insertSelective(TaskTimeOutRecord record);

	/**
	 * 获取对应主键的超时记录
	 * @param taskId
	 * @return
	 */
    TaskTimeOutRecord selectByPrimaryKey(String taskId);

	/**
	 * 动态更新
	 * @param record
	 * @return
	 */
	int updateByPrimaryKeySelective(TaskTimeOutRecord record);

	/**
	 * 更新
	 * @param record
	 * @return
	 */
    int updateByPrimaryKey(TaskTimeOutRecord record);

	List<Integer> selectYear();
}